﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DAL
{
    public partial class Cliente
    {
        


        public void SetAddPersona(dbGestionDataContext _db,
                    string descripcion,
                    string nombre,
                    string apellidoPat,
                    string apellidoMat,
                    int idNacionalidad,
                    int idTipoDocumento,
                    string numDocumento,
                    string Ocupacion,
                    int idGenero,
                    bool bitConviviente,
                    string telefono,
                    string celular,
                    string email,
                    string web,
                    string fax,
                    int idEstadoCivil,
                    bool bitActivo,
                    int idEstado,
                    string emailAlternativo,
                    string comentario,
                    int? idDireccion,
                    string conyuge,
                    string DNIConyuge,
                    string emailConyuge,
                    string telefonoConyuge
                    )
        {

            int idEmpleado = int.Parse(System.Web.HttpContext.Current.Session["idEmpleado"].ToString());


            this.descripcion=descripcion;
            this.nombre=nombre;
            this.apellidoPat=apellidoPat;
            this.apellidoMat=apellidoMat;
            this.idNacionalidad=idNacionalidad;
            this.idTipoDocumento = idTipoDocumento;
            this.numDocumento=numDocumento;
            this.Ocupacion=Ocupacion;
            this.idGenero=idGenero;
            this.bitConviviente=bitConviviente;
            this.telefono=telefono;
            this.celular=celular;
            this.email = email;
            this.bitEsJuridica = false;
            this.fechaCre = DateTime.Now;
            this.fechaMod = DateTime.Now;
            this.UsuarioCre = idEmpleado;
            this.UsuarioMod = idEmpleado;
            this.idEstadoCivil = idEstadoCivil;
            this.emailConyuge = emailConyuge;
            this.telefonoConyuge = telefonoConyuge;


            this.web=web;
            this.fax=fax;
            this.bitActivo=bitActivo;
            this.idEstado=idEstado;
            this.emailAlternativo=emailAlternativo;
            this.comentario = comentario;
            this.conyuge = conyuge;
            this.DNIConyuge = DNIConyuge;

            //datos de direccion

            this.idDireccion = idDireccion;

            
            _db.Clientes.InsertOnSubmit(this);

        }



        public void SetUpdatePersona(dbGestionDataContext _db,
                    string descripcion,
                    string nombre,
                    string apellidoPat,
                    string apellidoMat,
                    int idNacionalidad,
                    int idTipoDocumento,
                    string numDocumento,
                    string Ocupacion,
                    int idGenero,
                    bool bitConviviente,
                    string telefono,
                    string celular,
                    string email,
                    string web,
                    string fax,
                    int idEstadoCivil,
                    bool bitActivo,
                    int idEstado,
                    string emailAlternativo,
                    string comentario,
                    int? idDireccion,
                   string   conyuge,
                                 string   DNIConyuge, 
                                 string   emailConyuge,
                                 string telefonoConyuge )
        {

            int idEmpleado = int.Parse(System.Web.HttpContext.Current.Session["idEmpleado"].ToString());


            this.descripcion = descripcion;
            this.nombre = nombre;
            this.apellidoPat = apellidoPat;
            this.apellidoMat = apellidoMat;
            this.idNacionalidad = idNacionalidad;
            this.idTipoDocumento = idTipoDocumento;
            this.numDocumento = numDocumento;
            this.Ocupacion = Ocupacion;
            this.idGenero = idGenero;
            this.bitConviviente = bitConviviente;
            this.telefono = telefono;
            this.celular = celular;
            this.email = email;
            this.bitEsJuridica = false;
            this.razonSocial = string.Empty;
            this.fechaMod = DateTime.Now;
            this.idEstadoCivil = idEstadoCivil;
            this.UsuarioMod = idEmpleado;



            this.web = web;
            this.fax = fax;
            this.bitActivo = bitActivo;
            this.idEstado = idEstado;
            this.emailAlternativo = emailAlternativo;
            this.comentario = comentario;
            this.idDireccion = idDireccion;


            this.conyuge = conyuge;
            this.DNIConyuge = DNIConyuge;
            this.emailConyuge = emailConyuge;
            this.telefonoConyuge = telefonoConyuge;

           
        }




        public void SetAddEmpresa(dbGestionDataContext _db,
                    string descripcion,
                    string razonSocial,
                    int idTipoDocumento,
                    string numDocumento,
                    string telefono,
                    string celular,
                    string email,
                    string web,
                    string fax,
                    bool bitActivo,
                    int idEstado,
                    string emailAlternativo,
                    string comentario, int? idDireccion)
        {
            int idEmpleado = int.Parse(System.Web.HttpContext.Current.Session["idEmpleado"].ToString());


            this.descripcion = descripcion;
            this.nombre = nombre;
            this.idTipoDocumento = idTipoDocumento;
            this.numDocumento = numDocumento;
            this.telefono = telefono;
            this.celular = celular;
            this.email = email;
            this.razonSocial=razonSocial;
            this.fechaCre = DateTime.Now;
            this.fechaMod = DateTime.Now;
            this.UsuarioCre = idEmpleado;
            this.UsuarioMod = idEmpleado;
            this.bitEsJuridica = true;
            this.web = web;
            this.fax = fax;
            this.bitActivo = bitActivo;
            this.idEstado = idEstado;
            this.emailAlternativo = emailAlternativo;
            this.comentario = comentario;
            this.idDireccion = idDireccion;
            
            _db.Clientes.InsertOnSubmit(this);
        }


        public void SetUpdateEmpresa(dbGestionDataContext _db,
                    string descripcion,
                    string razonSocial,
                    int idTipoDocumento,
                    string numDocumento,
                    string telefono,
                    string celular,
                    string email,
                    string web,
                    string fax,
                    bool bitActivo,
                    int idEstado,
                    string emailAlternativo,
                    string comentario, int? idDireccion)
        {
            int idEmpleado = int.Parse(System.Web.HttpContext.Current.Session["idEmpleado"].ToString());

            this.apellidoMat = string.Empty;
            this.apellidoMat = string.Empty;
            this.descripcion = descripcion;
            this.nombre = nombre;
            this.idTipoDocumento = idTipoDocumento;
            this.numDocumento = numDocumento;
            this.telefono = telefono;
            this.celular = celular;
            this.email = email;
            this.razonSocial = razonSocial;
            this.bitEsJuridica = true;
            this.fechaMod = DateTime.Now;
           
            this.UsuarioMod = idEmpleado;

            this.web = web;
            this.fax = fax;
            this.bitActivo = bitActivo;
            this.idEstado = idEstado;
            this.emailAlternativo = emailAlternativo;
            this.comentario = comentario;
            this.idDireccion = idDireccion;
            
            
        }



        public int getidAnterior(dbGestionDataContext _db, int idinternal)
        {
            int intAnterior = 0;

            int c = _db.Clientes.Where(p => p.idInternal < idinternal).Count();
            if (c == 0)
            {
                throw new Exception("No existe Registros");
            }
            else
            {
                intAnterior = _db.Clientes.Where(a => a.idInternal < idinternal).Max(a => a.idInternal);

            }

            return intAnterior;

        }
        public int getidSiguiente(dbGestionDataContext _db, int idinternal)
        {
            int intSiguiente = 0;

            int c = _db.Clientes.Where(p => p.idInternal > idinternal).Count();

            if (c == 0)
            {
                throw new Exception("No existe Registros");
            }
            else
            {
                intSiguiente = _db.Clientes.Where(p => p.idInternal > idinternal).Min(a => a.idInternal);
            }

            return intSiguiente;
        }
    }
}
